At least some modern operating systems are capable of supporting multiple video cards, video chipsets, or graphics cards, within computing devices on which the operating systems are run. For example, a computing device may have two video cards, with a display device connected to each video device. The operating system running on the computing device leverages these two video cards. For instance, the operating system may expose a graphical user interface (GUI) desktop that spans the two display devices connected to the video cards. The user is thus able to run computer programs that display windows on either or both of the display devices.
Different video cards have different capabilities. For example, some video cards are able to support higher resolutions and/or more colors than other video cards. As another example, some video cards have built-in three-dimensional graphics hardware acceleration capabilities, whereas other video cards do not. As a result, a computer program that has specific video card preferences, which may include specific video card requirements, may only be able to be properly run on one of the two or more video cards within a given computing device, or, more generally, the program may only be able to use a subset of all available video cards and monitors.
Most operating systems specify default video cards, or enable a user to select a default video card, of all the video cards within the computing devices on which the operating systems are running. When a computer program is started, it is typically run on the default video card of the computing device in question. However, this default video card may not support the video card preferences of the computer program. At best, the computer program may not run as optimally as compared to when the computer program runs on a video card that does support its video card preferences.
In the worst-case scenario, however, the computer program may not be able to run at all on the default video card of the computing device in question. For instance, the computer program may be a game that requires a video card having three-dimensional graphics hardware acceleration capability. If the default video card does not have this capability, the computer program may report to the user that it is unable to be run, and then shut down. The user is forced to switch the default video card to one that has this capability, and then restart the program. Once the user has finished using the computer program, he or she may then have to switch the default video card back to the previous default video card to run other computer programs as desired.
For these and other reasons, therefore, there is a need for the present invention.